﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using SGRapidForm.Common;
using SGRapidForm.Permission.Entity;

namespace SGRapidForm.Permission.Service.Interface
{
    [ServiceContract(Namespace = "http://www.solutiongear.net/SGRapidForm/")]
    public interface IPageService
    {
        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<PageEntity> Page_GetAllList();

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<PageEntity> Page_PagingGet(Int32 startRecord, Int32 maxRecords, String sortColumns, String filterConditions);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        int Page_PagingGetCount(String filterConditions);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool BulkDeletePage(string keyids);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        PageEntity Page_GetByKeyid(string keyid);

        [OperationContract] 
        [FaultContract(typeof(ServiceExceptionDetail))]
        PageEntity Page_GetKeyidBypagename(string pagecode);

        [OperationContract] 
        [FaultContract(typeof(ServiceExceptionDetail))]
        PageEntity Page_GetKeyidByPageCode(string pageCode);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Page_Update(PageEntity page);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Page_Add(PageEntity page);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<PageEntity> Page_GetByModuleKeyid(string keyid);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Page_ClearBeforeImporting();


        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Page_Delete(string keyid);

    }
}
